src/isPrime.js
zzmq.dev@gmail.com[dev2]/mathkit[add-isprime-n-function-returns-whether-n] / src / isPrime.js
@ 863d2fc8
Download
Ladder Summary
- file Add isPrime function with export and comprehensive tests
/**
* Determines whether a given number is a prime.
*
* @param {number} n - The number to test.
* @returns {boolean} True if n is a prime number, otherwise false.
*/
export function isPrime(n) {
// Primes are integers greater than 1
if (typeof n !== "number" || !Number.isInteger(n) || n <= 1) {
return false;
}
// 2 is the only even prime
if (n === 2) {
return true;
}
// Exclude even numbers greater than 2
if (n % 2 === 0) {
return false;
}
const limit = Math.sqrt(n);
for (let i = 3; i <= limit; i += 2) {
if (n % i === 0) {
return false;
}
}
return true;
}